# Importar a classe Player do modulo Player
from Player import Player

# Definir uma lista que contenha os objetos Player
playerList = []


def makeSelection():
    validOptions = ['1', '2', '3', '4']
    print "Por favor, escolha uma opcao\n"


    selection = raw_input("Pressione 1 para adicionar um jogador, 2 para imprimir a escalacao do time, 3 para procurar um jogador no time, 4 para sair: ")
    if selection not in validOptions:
        print "Nao e uma opcao valida, tente novamente\n"
        makeSelection()
    else:
        if selection == '1':
            addPlayer()
        elif selection == '2':
            printRoster()
        elif selection == '3':
            searchRoster()
        else:
            print "Obrigado por usar o aplicativo HockeyRoster."


def addPlayer():
    addNew = 'Y'
    print "Adicione um jogador na escalacao fornecendo as seguintes informacoes\n"
    while addNew.upper() == 'Y':
        first = raw_input("Nome: ")
        last = raw_input("Sobrenome: ")
        position = raw_input("Posicao: ")
        id = len(playerList)
        player = Player()
        player.create(id, first, last, position)
        playerList.append(player)
        print "Jogador adicionado com exito na escalacao do time\n"
        addNew = raw_input("Adicionar outro? (Y ou N)")
    makeSelection()



def printRoster():
    print "====================\n"
    print "Escalacao completa do time\n"
    print "======================\n\n"
    for player in playerList:
        print "%s %s - %s" % (player.first, player.last, player.position)
    print "\n"
    print "=== Fim da escalacao ===\n"
    makeSelection()


def searchRoster():
    index = 0
    found = False
    print "Introduza o nome de um jogador abaixo para pesquisar a equipe\n"
    first = raw_input("Nome: ")
    last = raw_input("Sobrenome: ")
    position = None
    while index < len(playerList):
        player = playerList[index]
        if player.first.upper() == first.upper() or player.last.upper() == last.upper():
            found = True
            position = player.position
        index = index + 1
    if found:
        print '%s %s esta na escalacao como %s' % (first, last, position)
    else:
        print '%s %s nao esta na escalacao.' % (first, last)
    makeSelection()



if __name__ == "__main__":
    print "Aplicativo de escalacao de hoquei\n\n"
    makeSelection()